home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1996 #15 / Monster Media Number 15 (Monster Media)(July 1996).ISO / wildcat / net_port.zip / NETMPORT.WCX (.txt) < prev    next >
Wildcat! WCX  |  1996-04-19  |  6KB  |  467 lines

  1. '! Decompiled with wccNosy version 4.20f (freeware)
  2. '! Input File: in.wcx  5798 bytes  03/09/122  08:19:18am
  3. '! Code Segment Size  :4967 bytes
  4. '! Data Segment Size  :5435 bytes
  5. '! String Segment Size:831 bytes
  6. '! Compiled with WCC version 4.12
  7.  
  8.       Type Type26
  9.         s0 As String*36
  10.         s36 As String*36
  11.         s72 As String*72
  12.         Filler144(1 To 22) As Byte
  13.         s166 As String*1
  14.         s167 As String*1
  15.         Filler168(1 To 6) As Byte
  16.         s174 As String*1
  17.         s175 As String*1
  18.       End Type
  19.  
  20.       Declare Function Func4030(l65534 As Long, l65532 As Long) As Integer
  21.       Declare Sub Sub4654(s65534 As String)
  22.  
  23.       Dim s4463 As String
  24.       Dim l4467 As Long
  25.       Dim i4471 As Integer
  26.       Dim s4473 As String*1
  27.       Dim s4474 As String
  28.       Dim s4478 As String
  29.       Dim s4482 As String
  30.       Dim s4486 As String
  31.       Dim s4490 As String
  32.       Dim mh4494 As MessageHeader
  33.       Dim s4816 As String
  34.       Dim s4820 As String
  35.       Dim s4824 As String
  36.       Dim s4828 As String
  37.       Dim s4832 As String
  38.       Dim s4836 As String
  39.       Dim i4840 As Integer
  40.       Dim w4842 As Word
  41.       Dim i4844 As Integer
  42.       Dim i4846 As Integer
  43.       Dim i4848 As Integer
  44.       Dim w4850 As Word
  45.       Dim i4852 As Integer
  46.       Dim i4854 As Integer
  47.       Dim i4856 As Integer
  48.       Dim w4858 As Word
  49.       Dim i4860 As Integer
  50.       Dim i4862 As Integer
  51.       Dim i4864 As Integer
  52.       Dim w4866 As Word
  53.       Dim i4868 As Integer
  54.       Dim i4870 As Integer
  55.       Dim i4872 As Integer
  56.       Dim s4874 As String*1
  57.       Dim s4875 As String*1
  58.       Dim s4876 As String*1
  59.       Dim s4877 As String
  60.       Dim s4885 As String
  61.       Dim s4889 As String
  62.       Dim s4893 As String
  63.       Dim i4897 As Integer
  64.       Dim i4899 As Integer
  65.       Dim i4901 As Integer
  66.       Dim i4903 As Integer
  67.       Dim i4905 As Integer
  68.       Dim i4907 As Integer
  69.       Dim i4909 As Integer
  70.       Dim i4911 As Integer
  71.       Dim i4913 As Integer
  72.       Dim i4915 As Integer
  73.       Dim i4917 As Integer
  74.       Dim t26_4919 As Type26
  75.       Dim s5109 As String*190
  76.       Dim s5299 As String
  77.       Dim s5303 As String
  78.       Dim s5307(0 To 30) As String
  79.       Dim i5431 As Integer
  80.       Dim i5433 As Integer
  81.  
  82.       Dim l65520_ As Long
  83.       Dim i65524_ As Integer
  84.       Dim l65526_ As Long
  85.       Dim i65530_ As Integer
  86.       Dim l65532_ As Long '! Temporary
  87.  
  88.       s4463 = "V1.08ß"
  89.       GoSub 74
  90.       GoSub 129
  91.       GoSub 838
  92.       GoSub 2823
  93.       End 
  94.    74 EnablePages 0
  95.       i4471 = 0
  96.       l4467 = 0
  97.       i4907 = 0
  98.       s4874 = Chr(0)
  99.       s4875 = Chr(13)
  100.       s4876 = Chr(1)
  101.       Return 
  102.   129 s4885 = ProgPath + "NetMPort.CFG"
  103.       If ParamCount > 0 Then
  104.         s4885 = ParamStr(1)
  105.       End If
  106.   164 s4889 = TempPath + "TEMPFILE.TXT"
  107.       If Not Exists(s4885) Then
  108.         Cls 
  109.         Locate 10, 5
  110.         Print "I can't find your " + s4885
  111.         Pause 
  112.         End 
  113.       End If
  114.   222 i5431 = 0
  115.       Open s4885 For Input As 1
  116.       Input #1, s4474
  117.       Input #1, s4478
  118.       Input #1, s4482
  119.       Input #1, s4486
  120.       Input #1, s4490
  121.       Input #1, l4467
  122.   290 Do While Not EOF(1)
  123.         Input #1, s4877
  124.         If Trim(s4877) <> "" And Left(s4877, 1) <> ";" Then
  125.           i5431 = i5431 + 1
  126.           s5307(i5431) = Trim(UCase(s4877))
  127.         End If
  128.   400 Loop
  129.   406 Close 1
  130.       i4471 = 0
  131.       If Func4030(l4467, (10937)) Then
  132.         i4471 = -1
  133.       End If
  134.   456 s4877 = "NetMPort " + s4463 + ", UNREGISTERED"
  135.       If i4471 Then
  136.         s4877 = "NetMPort " + s4463 + ", Registered to " + MakeWild.RegString
  137.       End If
  138.   524 Cls 
  139.       Locate 0, 0
  140.       Print "@NOPAUSE@"
  141.       Print s4877
  142.       Print "OmniBBS Systems (c)"
  143.       Print "Charles Meadows"
  144.       UpdateScreen 
  145.       If Right(s4486, 1) <> "\" Then
  146.         s4486 = s4486 + "\"
  147.       End If
  148.   607 s4490 = Trim(UCase(s4490))
  149.       If s4490 <> "LOG" And s4490 <> "NOLOG" Then
  150.         s4490 = "LOG"
  151.       End If
  152.   660 Print " "
  153.       Print "Verifing existance of your netmail directory"
  154.       UpdateScreen 
  155.       s4877 = s4486 + "NetMPort.TsT"
  156.       Open s4877 For Output As 1
  157.       Print #1, " "
  158.       Close 1
  159.       If Not Exists(s4877) Then
  160.         Cls 
  161.         Locate 10, 5
  162.         Print "I can't find your " + s4486 + "Netmail Directory!"
  163.         Pause 
  164.         End 
  165.       End If
  166.   781 Del s4877
  167.       Sub4654(s4482)
  168.       w4842 = i4840
  169.       w4850 = i4848
  170.       w4858 = i4856
  171.       w4866 = i4864
  172.       Return 
  173.   838 Print " "
  174.       Print "Reading Netmail messages"
  175.       UpdateScreen 
  176.   885 For i4872 = 1 To Val(s4478) Step 1
  177.         s4877 = Str(i4872)
  178.         s4893 = s4486 + Trim(s4877) + ".MSG"
  179.         If Exists(s4893) Then
  180.           Print
  181.           Print "Opening "; s4893
  182.           UpdateScreen 
  183.           Open s4893 For Random As 1 Len = 190 '! This value should probably be replaced with a "SizeOf" expression
  184.           Get 1, -1, t26_4919 '! 190 bytes
  185.           s5109 = " "
  186.           If Not EOF(1) Then
  187.             Get 1, -1, s5109 '! 190 bytes
  188.           End If
  189.  1073     Close 1
  190.           GoSub 1114
  191.           GoSub 1773
  192.         End If
  193.  1090 Next
  194.  1113 Return 
  195.  1114 s4816 = ""
  196.       s4828 = ""
  197.       s4832 = ""
  198.       s4836 = ""
  199.       s4824 = ""
  200.       s4820 = ""
  201.       If Mid(s5109, 1, 1) = s4876 Then
  202.         s4877 = ""
  203.         i4911 = 2
  204.         Do
  205.  1211     If Mid(s5109, i4911, 1) = s4875 Then
  206.             If Mid(s4877, 1, 1) = "F" And s4820 = "" Then
  207.               s4820 = s4877
  208.               s4877 = ""
  209.             End If
  210.  1295       If Mid(s4877, 1, 1) = "I" And s4828 = "" Then
  211.               s4828 = s4877
  212.               s4877 = ""
  213.             End If
  214.  1349       If Mid(s4877, 1, 1) = "M" And s4832 = "" Then
  215.               s4832 = s4877
  216.               s4877 = ""
  217.             End If
  218.  1403       If Mid(s4877, 1, 1) = "P" And s4816 = "" Then
  219.               s4816 = s4877
  220.               s4877 = ""
  221.             End If
  222.  1457       If Mid(s4877, 1, 1) = "R" And s4836 = "" Then
  223.               s4836 = s4877
  224.               s4877 = ""
  225.             End If
  226.  1511       If Mid(s4877, 1, 1) = "T" And s4824 = "" Then
  227.               s4836 = s4877
  228.               s4877 = ""
  229.             End If
  230.  1565       i4911 = i4911 + 1
  231.             If Mid(s5109, i4911, 1) <> s4876 Then
  232.               Return 
  233.             End If
  234.           End If
  235.  1610     If Mid(s5109, i4911, 1) <> s4875 And Mid(s5109, i4911, 1) <> s4876 Then
  236.             s4877 = s4877 + Mid(s5109, i4911, 1)
  237.           End If
  238.  1692     i4911 = i4911 + 1
  239.           If i4911 = 255 Then
  240.             i4911 = 0
  241.           End If
  242.  1727     If i4911 > Len(Trim(s5109)) Then
  243.             i4911 = 0
  244.           End If
  245.  1758   Loop Until i4911 = 0
  246.       End If
  247.  1772 Return 
  248.  1773 If s4828 <> "" Then
  249.         s4877 = ""
  250.         s4473 = ""
  251.         i4913 = 5
  252.         Do
  253.  1817     i4913 = i4913 + 1
  254.           s4473 = Mid(s4828, i4913, 1)
  255.           i4901 = InStr(1, ".:/1234567890", s4473)
  256.           If i4901 > 0 Then
  257.             s4877 = s4877 + s4473
  258.           End If
  259.  1902   Loop Until i4901 = 0
  260.         s5303 = s4877
  261.         Sub4654(s4877)
  262.         i4846 = i4840
  263.         i4854 = i4848
  264.         i4862 = i4856
  265.         i4870 = i4864
  266.         s4877 = ""
  267.         s4473 = ""
  268.         Do
  269.  1993     i4913 = i4913 + 1
  270.           s4473 = Mid(s4828, i4913, 1)
  271.           i4901 = InStr(1, ".:/1234567890", s4473)
  272.           If i4901 > 0 Then
  273.             s4877 = s4877 + s4473
  274.           End If
  275.  2078   Loop Until i4901 = 0
  276.         s5299 = s4877
  277.         Sub4654(s4877)
  278.         i4844 = i4840
  279.         i4852 = i4848
  280.         i4860 = i4856
  281.         i4868 = i4864
  282.         GoSub 2544
  283.         Return 
  284.       End If
  285.  2156 If s4832 <> "" Then
  286.         s4877 = ""
  287.         s4473 = ""
  288.         i4899 = 7
  289.         Do
  290.  2200     i4899 = i4899 + 1
  291.           s4473 = Mid(s4832, i4899, 1)
  292.           i4901 = InStr(1, ".:/1234567890", s4473)
  293.           If i4901 > 0 Then
  294.             s4877 = s4877 + s4473
  295.           End If
  296.  2285   Loop Until i4901 = 0
  297.         s5299 = s4877
  298.         Sub4654(s4877)
  299.         i4844 = i4840
  300.         i4852 = i4848
  301.         i4860 = i4856
  302.         i4868 = i4864
  303.         i4846 = i4844
  304.         i4854 = Val("$" + Right(Hex(Asc(t26_4919.s175)), 2) + Right(Hex(Asc(t26_4919.s174)), 2))
  305.         i4862 = Val("$" + Right(Hex(Asc(t26_4919.s167)), 2) + Right(Hex(Asc(t26_4919.s166)), 2))
  306.         i4870 = 0
  307.         s5303 = Str(i4846) + ":" + Str(i4854) + "/" + Str(i4862)
  308.         GoSub 2544
  309.         Return 
  310.       End If
  311.  2543 Return 
  312.  2544 GoSub 2974
  313.       If Trim(s5303) = Trim(s4482) And i5433 = 0 Then
  314.         GoSub 3180
  315.         Open s4893 For Input As 1
  316.         Do
  317.  2607     Input #1, s4877
  318.         Loop Until InStr(1, s4877, "INTL ") > 0 Or InStr(1, s4877, "PID") > 0 Or InStr(1, s4877, "TOPT") > 0 Or InStr(1, s4877, "TID") > 0 Or InStr(1, s4877, "REPLY") > 0 Or InStr(1, s4877, "MSGID") > 0 And Not EOF(1)
  319.         i4909 = 0
  320.         GoSub 3418
  321.         Close 1
  322.         Join Val(s4474)
  323.         i4915 = GetHighMessage
  324.         AddMessage(mh4494, s4889, "", Val(s4474))
  325.         Join Val(s4474)
  326.         Del s4889
  327.         GoSub 3515
  328.       End If
  329.  2822 Return 
  330.  2823 s4877 = "NetMPort UNREGISTERED!, Imported " + Str(i4907) + " messages, using " + s4885
  331.       If i4471 Then
  332.         s4877 = "NetMPort Registered!, Imported " + Str(i4907) + " messages, using " + s4885
  333.       End If
  334.  2898 Print " "
  335.       Print s4877
  336.       UpdateScreen 
  337.       If i4907 > 0 And s4490 = "LOG" Then
  338.         ActivityLog s4877
  339.       End If
  340.  2952 Print " "
  341.       Print "Done with NetMPort"
  342.       UpdateScreen 
  343.       Return 
  344.  2974 i5433 = 0
  345.  3004 For i4917 = 1 To i5431 Step 1
  346.         If s5307(i4917) = Trim(UCase(t26_4919.s36)) Or s5307(i4917) = Trim(UCase(s5299)) Then
  347.           i5433 = -1
  348.         End If
  349.  3156 Next
  350.  3179 Return 
  351.  3180 mh4494.FidoFromZone = i4844
  352.       mh4494.FidoFromNet = i4852
  353.       mh4494.FidoFromNode = i4860
  354.       mh4494.FidoFromPoint = i4868
  355.       mh4494.FidoToZone = i4846
  356.       mh4494.FidoToNet = i4854
  357.       mh4494.FidoToNode = i4862
  358.       mh4494.FidoToPoint = i4870
  359.       mh4494.From = Trim(UCase(t26_4919.s0))
  360.       mh4494.To = Trim(UCase(t26_4919.s36))
  361.       mh4494.Subject = t26_4919.s72
  362.       mh4494.Flags = mh4494.Flags Or 1
  363.       mh4494.Flags = mh4494.Flags Or 2048
  364.       Return 
  365.  3418 Open s4889 For Output As 2
  366.  3437 Do While Not EOF(1)
  367.         i4909 = i4909 + 1
  368.         Input #1, s4877
  369.         If Left(s4877, 1) <> s4876 Then
  370.           Print #2, s4877
  371.         End If
  372.  3503 Loop
  373.  3509 Close 2
  374.       Return 
  375.  3515 If i4915 = GetHighMessage Then
  376.         s4877 = " Not able to add message in " + s4474
  377.         Print " "
  378.         Print s4877
  379.         ActivityLog s4877
  380.         s4877 = "You might wait to run WCREPAIR on the conference!"
  381.         Print s4877
  382.         UpdateScreen 
  383.         ActivityLog s4877
  384.       End If
  385.  3597 If i4915 <> GetHighMessage Then
  386.         i4915 = GetHighMessage
  387.         s4877 = Str(i4909) + " line message left in " + s4474
  388.         Print " "
  389.         Print s4877
  390.         s4877 = "  Msg #" + Str(GetHighMessage) + " to " + UCase(mh4494.To)
  391.         Print s4877
  392.         UpdateScreen 
  393.         If s4490 = "LOG" Then
  394.           s4877 = Str(i4909) + " line message left in " + s4474
  395.           ActivityLog s4877
  396.           s4877 = "  Msg #" + Str(GetHighMessage) + " to " + UCase(mh4494.To)
  397.           ActivityLog s4877
  398.         End If
  399.  3808   i4907 = i4907 + 1
  400.         Del s4893
  401.       End If
  402.  3829 Return 
  403.  
  404. '! Called 1 time
  405.       Function Func4030(l65534 As Long, l65532 As Long) As Integer
  406.         Dim l65431 As Long
  407.         Dim i65435 As Integer
  408.         Dim l65437 As Long
  409.         Dim i65441 As Integer
  410.         Dim l65443 As Long
  411.         Dim i65447 As Integer
  412.         Dim s65453 As String*7
  413.         Dim s65460 As String*30
  414.         Dim s65490 As String*30
  415.         Dim l65520 As Long
  416.         Dim l65524 As Long
  417.         Dim i65528 As Integer
  418.  
  419.         s65490 = Trim(UCase(MakeWild.BBSName))
  420.         s65460 = ""
  421.  4100   For i65528 = 1 To Len(s65490) Step 1
  422.           s65453 = Mid(s65490, i65528, 1)
  423.           If Trim(s65453) <> "" Then
  424.             s65460 = s65460 + s65453
  425.           End If
  426.  4214   Next
  427.  4237   l65524 = 0
  428.  4271   For i65528 = 1 To Len(s65460) Step 1
  429.           l65524 = l65524 + Asc(Mid(s65460, i65528, 1))
  430.         Next
  431.  4375   s65453 = Trim(UCase(MakeWild.RegString))
  432.         l65520 = 0
  433.  4432   For i65528 = 1 To Len(s65453) Step 1
  434.           l65520 = l65520 + Asc(Mid(s65453, i65528, 1))
  435.         Next
  436.  4536   l65520 = l65520 + l65524
  437.         l65520 = l65520 * 7
  438.         l65520 = l65520 * l65532
  439.         l65520 = l65520 + l65532
  440.         If l65520 = l65534 Then
  441.           Func4030 = - 1
  442.         Else
  443.  4640     Func4030 = 0
  444.         End If
  445.  4646
  446.       End Function
  447.  
  448. '! Called 4 times
  449.       Sub Sub4654(s65534 As String)
  450.         i4897 = InStr(1, s65534, ":")
  451.         i4899 = InStr(i4897, s65534, "/")
  452.         i4901 = InStr(i4899, s65534, ".")
  453.         i4903 = Len(s65534)
  454.         i4905 = i4899 - i4897 + 1
  455.         i4840 = Val(Left(s65534, i4897 - 1))
  456.         i4848 = Val(Mid(s65534, i4897 + 1, i4905))
  457.         If i4901 = 0 Then
  458.           i4856 = Val(Mid(s65534, i4899 + 1, i4903))
  459.           i4864 = 0
  460.         Else
  461.  4881     i4905 = i4901 - i4899 + 1
  462.           i4856 = Val(Mid(s65534, i4899 + 1, i4905))
  463.           i4864 = Val(Mid(s65534, i4901 + 1, i4903))
  464.         End If
  465.  4964
  466.       End Sub
  467.